using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Konst3d.Efficiency.Suite
{
    public interface ITaskCollection : IEnumerable<ITask>
    {
		int Count
		{
			get;
		}

        ITask this[int id]
        {
            get;
        }

        int Add(DateTime created, DateTime deadLine, TaskSeverity severity, string title, string description);
        void Remove(int id);

        ICollection<ITask> Get(TaskState state);
        ICollection<ITask> GetActiveTTL(TimeSpan timeToLive);
    }
}
